//6 和 9 组成的最大数字
/*给你一个仅由数字 6 和 9 组成的正整数 num。

你最多只能翻转一位数字，将 6 变成 9，或者把 9 变成 6 。

请返回你可以得到的最大数字。
1 <= num <= 10^4
num 每一位上的数字都是 6 或者 9 。
*/
int maximum69Number (int num) {
    if(num/6000&&num%6000<1000)
    {
        num-=6000;
        num+=9000;
    }else if(num/600&&num%600<100)
    {
        num-=600;
        num+=900;
    }else if(num/60&&num%60<10)
    {
        num-=60;
        num+=90;
    }else if(num/6&&num%6==0)
    {
        num-=6;
        num+=9;
    }
    return num;
}



//独一无二的出现次数
/*给你一个整数数组 arr，如果每个数的出现次数都是独一无二的，就返回 true；否则返回 false。
1 <= arr.length <= 1000
-1000 <= arr[i] <= 1000
*/
bool uniqueOccurrences(int* arr, int arrSize) {
    int hash[2001] = {0};
    for (int i = 0; i < arrSize; i++) {
        hash[arr[i] + 1000]++;
    }
    int hash2[1001] = {0};
    for (int i = 0; i < 2001; i++) {
        hash2[hash[i]]++;
        if (hash[i] != 0 && hash2[hash[i]] > 1)
            return false;
    }
    return true;
}